// Double inheritance: can I have pure virtual in one parent?
// YES.

#include <iostream>

class A {
public:
    virtual int f(A& a) = 0;
};

class B {
    int g() {
        return 3;
    }
};

class C : public A, public B {
public:
    int f(A& a) {
        return 6;
    }
};

int main() {
    C *c = new C();
    std::cout << c->f(*c) << "\n";
}
